package com.cxf.dao;

import com.cxf.pojo.Product;
import com.cxf.pojo.Sort;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

public interface ProductDao {

    Product getProductById(Integer id);
	Product getProductByName(String name);
	int updateProduct(Product product);
	List<String> getType();//获得主产品
	List<Sort> getSort(String typeName);//获得副产品
	List<Product> getProductBySortId(Integer sortId);//通过副产品id获得产品
	String getByProductNameById(Integer id);//通过副产品id找副产品名字
	void addType(String typeName);
	void deleteType(String typeName);
	void updateType(Map<String, String> map);
	void addSort(Map<Object, Object> map);
	void deleteSort(String sortName);
	void updateSortStatus(Map<String, String> map); //更新分类的状态
	String findSortByName(String sortName); //查找分类是否存在
	void renameSort(Map<Object, Object> map); //重命名分类
	String findTypeByTypeName(String typeName);
	String findSortNameByNewName(Map<Object, Object> map); //通过新名字查找表中是否存在
	void renameType(Map<Object, Object> map);//一级分类重命名
	String findTypeNameByNewName(String typeName); //通过新名字查找表中是否存在
	void realDeleteType(String typeName);//真实删除二级分类
	void realDeleteSort(String sortName);//真实删除一级分类
	Integer getTypeIdByTypeName(String typeName);//
	List<String> getSortListByTypeId(Integer typeId);
	List<String> getAllType();//获取所有一级分类
	Integer getTypeIdBySortId(Integer sortId); //根据分类ID获取类别ID
	String getTypeNameByTypeId(Integer typeId);
	String getSortNameBySortId(Integer sortId);
	void deleteProduct(String productName);
	List<String> getTypeList(); //获取一级分类
	Integer getSortIdBySortName(String sortName);
	int getTotalBySortName(String sortName); //获取某一分类的总记录数
	List<Product> getProductByPaging(Map<String, Object> map); //分页获取产品
	int addProduct(Product product);//添加商品
	Integer getProductIdByName(String productName); //通过产品名称获取产品ID
	Integer getTypeAtRow(Integer typeId);//获取一级分类记录条数
	Integer getSortAtRow(Map<Object, Object> map);

}
